package com.ecar.core.common.entity;

import java.io.Serializable;

public class PriceRule implements Serializable {
    private String id;

    private Integer carLevel;

    private Double startPrice;

    private Double distanceRate;

    private String lowRateRule;

    private Double longRate;

    private Double nightRate;

    private Double waittingRate;

    private Double airportPassPrice;

    private Double airportMinPrice;

    private String remark;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getCarLevel() {
        return carLevel;
    }

    public void setCarLevel(Integer carLevel) {
        this.carLevel = carLevel;
    }

    public Double getStartPrice() {
        return startPrice;
    }

    public void setStartPrice(Double startPrice) {
        this.startPrice = startPrice;
    }

    public Double getDistanceRate() {
        return distanceRate;
    }

    public void setDistanceRate(Double distanceRate) {
        this.distanceRate = distanceRate;
    }

    public String getLowRateRule() {
        return lowRateRule;
    }

    public void setLowRateRule(String lowRateRule) {
        this.lowRateRule = lowRateRule;
    }

    public Double getLongRate() {
        return longRate;
    }

    public void setLongRate(Double longRate) {
        this.longRate = longRate;
    }

    public Double getNightRate() {
        return nightRate;
    }

    public void setNightRate(Double nightRate) {
        this.nightRate = nightRate;
    }

    public Double getWaittingRate() {
        return waittingRate;
    }

    public void setWaittingRate(Double waittingRate) {
        this.waittingRate = waittingRate;
    }

    public Double getAirportPassPrice() {
        return airportPassPrice;
    }

    public void setAirportPassPrice(Double airportPassPrice) {
        this.airportPassPrice = airportPassPrice;
    }

    public Double getAirportMinPrice() {
        return airportMinPrice;
    }

    public void setAirportMinPrice(Double airportMinPrice) {
        this.airportMinPrice = airportMinPrice;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PriceRule other = (PriceRule) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCarLevel() == null ? other.getCarLevel() == null : this.getCarLevel().equals(other.getCarLevel()))
            && (this.getStartPrice() == null ? other.getStartPrice() == null : this.getStartPrice().equals(other.getStartPrice()))
            && (this.getDistanceRate() == null ? other.getDistanceRate() == null : this.getDistanceRate().equals(other.getDistanceRate()))
            && (this.getLowRateRule() == null ? other.getLowRateRule() == null : this.getLowRateRule().equals(other.getLowRateRule()))
            && (this.getLongRate() == null ? other.getLongRate() == null : this.getLongRate().equals(other.getLongRate()))
            && (this.getNightRate() == null ? other.getNightRate() == null : this.getNightRate().equals(other.getNightRate()))
            && (this.getWaittingRate() == null ? other.getWaittingRate() == null : this.getWaittingRate().equals(other.getWaittingRate()))
            && (this.getAirportPassPrice() == null ? other.getAirportPassPrice() == null : this.getAirportPassPrice().equals(other.getAirportPassPrice()))
            && (this.getAirportMinPrice() == null ? other.getAirportMinPrice() == null : this.getAirportMinPrice().equals(other.getAirportMinPrice()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCarLevel() == null) ? 0 : getCarLevel().hashCode());
        result = prime * result + ((getStartPrice() == null) ? 0 : getStartPrice().hashCode());
        result = prime * result + ((getDistanceRate() == null) ? 0 : getDistanceRate().hashCode());
        result = prime * result + ((getLowRateRule() == null) ? 0 : getLowRateRule().hashCode());
        result = prime * result + ((getLongRate() == null) ? 0 : getLongRate().hashCode());
        result = prime * result + ((getNightRate() == null) ? 0 : getNightRate().hashCode());
        result = prime * result + ((getWaittingRate() == null) ? 0 : getWaittingRate().hashCode());
        result = prime * result + ((getAirportPassPrice() == null) ? 0 : getAirportPassPrice().hashCode());
        result = prime * result + ((getAirportMinPrice() == null) ? 0 : getAirportMinPrice().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        return result;
    }
}